This invention relates to input-output (I/O) circuitry for integrated circuits, and more particularly, to differential output drivers that may be adjusted dynamically during circuit operation.
Input-output (I/O) circuitry is used on integrated circuits as an interface between the circuitry on the integrated circuit and external components. Input-output circuitry typically includes either single-ended or differential input drivers and single-ended or differential output drivers.
Single-ended drivers are used to handle single-ended signals—i.e., signals that are referenced to ground.
Differential drivers are used to handle differential signals, which are carried on pairs of conductors. Differential signals are referenced to each other, rather than a source of ground potential. One of the differential signals in each differential signal pair may be labeled “positive” and the other one of the differential signals in that pair may be labeled “negative.”
The average voltage of a differential signal is called its “common mode” voltage (VCM). The maximum voltage swing of a differential output signal (i.e., the voltage difference between the maximum and minimum of a differential output signal) is called its peak-to-peak output voltage (VOD).
There is a class of integrated circuits known as programmable logic devices. These integrated circuits have programmable circuitry that can be programmed by a user to perform custom logic functions. With one common arrangement, a programmable logic device can be configured by loading configuration data into the programmable logic device from an external memory chip upon system power-up.
The I/O circuitry of many programmable logic devices contains differential input and output drivers. The differential I/O circuitry of a programmable logic device may be used to support high-speed communications between the programmable logic device and an external component such as an application-specific integrated circuit (ASIC).
There are a number of different differential I/O signaling standards in use in modern systems. Examples of popular I/O signaling standards include the LVDS and LVPECL standards. These standards typically use different values for the common-mode voltage VCM and the peak-to-peak output voltage swing VOD.
In order to make programmable logic devices that support differential I/O signaling standards more flexible, some of these programmable logic devices have programmable I/O circuitry. During device programming, the programmable I/O circuitry can be configured to handle the values of VCM and VOD that are required by a particular I/O signaling standard.
In modern system environments, integrated circuits may be connected using a variety of different communications paths. Some integrated circuits may be mounted close to each other (e.g., in adjacent positions on the same circuit board). Other integrated circuits may be mounted on different boards that are interconnected using system busses. In order to accommodate the wide range of potential system environments in which an integrated circuit is expected to operate, differential signaling standards allow the values of VCM and VOD on different paths to vary somewhat, so long as these values remain within certain prescribed ranges.
The flexibility inherent in such differential signaling schemes ensures a certain minimum level of I/O signaling performance in most circumstances. However, in some situations such as when communications paths are packed densely or when the signals are large, a communications path may be subject to the undesirable effects of crosstalk. In other situations, such as when the I/O signals are weak or when the length of the communications path is large, there may be undesirable noise present. These undesirable effects may arise even at values of VCM and VOD that fall within a prescribed signaling standard range.
It would therefore be desirable to be able to adjust the values of common-mode voltage and peak-to-peak output voltage swing that are produced by a given differential output driver to accommodate different system environments.